package ${package}.model;

import java.io.Serializable;
import java.util.Date;

import org.slim3.datastore.Attribute;
import org.slim3.datastore.Model;

import twitter4j.Status;

import com.google.appengine.api.datastore.Key;

/**
 * Mention.
 * <p>{@link Status#getId()}を主キーとなる{@link Key}のid値として使用する。</p>
 * @author shin1ogawa
 */
@Model
public class Mention implements Serializable {

	private static final long serialVersionUID = -7479761324967789855L;

	@Attribute(primaryKey = true)
	private Key key;

	private String userScreenName;

	private String userName;

	private String text;

	private Date createdAt;


	/**
	 * @return the key
	 * @category accessor
	 */
	public Key getKey() {
		return key;
	}

	/**
	 * @param key the key to set
	 * @category accessor
	 */
	public void setKey(Key key) {
		this.key = key;
	}

	/**
	 * @return the userScreenName
	 * @category accessor
	 */
	public String getUserScreenName() {
		return userScreenName;
	}

	/**
	 * @param userScreenName the userScreenName to set
	 * @category accessor
	 */
	public void setUserScreenName(String userScreenName) {
		this.userScreenName = userScreenName;
	}

	/**
	 * @return the userName
	 * @category accessor
	 */
	public String getUserName() {
		return userName;
	}

	/**
	 * @param userName the userName to set
	 * @category accessor
	 */
	public void setUserName(String userName) {
		this.userName = userName;
	}

	/**
	 * @return the text
	 * @category accessor
	 */
	public String getText() {
		return text;
	}

	/**
	 * @param text the text to set
	 * @category accessor
	 */
	public void setText(String text) {
		this.text = text;
	}

	/**
	 * @return the createdAt
	 * @category accessor
	 */
	public Date getCreatedAt() {
		return createdAt;
	}

	/**
	 * @param createdAt the createdAt to set
	 * @category accessor
	 */
	public void setCreatedAt(Date createdAt) {
		this.createdAt = createdAt;
	}
}
